/*
*   axios二次封装
*
* */
//引入axios
import axios from 'axios';
//引入nprogress
import nprogress from 'nprogress';
//引入进度条的样式
import 'nprogress/nprogress.css';
import Store from './../store';

const  requests=axios.create({
    //配置路径
    /*baseURL:"/api",*/
    //接口请求时间配置
    timeout:5000
})
//配置请求拦截器
requests.interceptors.request.use(config=>{
    //进度条开始启动执行
    nprogress.start();
    // 配置token
    config.headers.Authorization = Store.state.auth.token;
    return config;

})
//配置响应拦截器
requests.interceptors.response.use(resp=>{
    //进度条执行完毕
    nprogress.done();
    return resp;

},error => {
//console.log(error);

const status = error.response.status;
// 401:Token 过期; 此处还可以优化成 自动刷新token
if (status === 401) {
    Store.commit('auth/AUTH_LOGOUT');
    throw err;
}
return Promise.reject(new Error('fail'));
})
//对外暴露
export default requests;


